package top.xierongsheng.code.wx;

import top.xierongsheng.utlis.data.HttpUtil;

import java.util.HashMap;
import java.util.Map;

/**
 * 微信事件处理器
 */
public class EventProcessor {

    private static final String AppID = "wxf704e4343befa064";

    private static final String AppSecret = "969b1d0c4bfbdfa4373569001f3e6b8c";

    /**
     * 小程序授权登录
     *
     * @param code 前端通过wx.login得到的code
     * @return
     */
    public static Map code2Session(String code) {
        //授权（必填）
        String grant_type = "authorization_code";
        //URL
        String requestUrl = "https://api.weixin.qq.com/sns/jscode2session";
        //请求参数
        String params = "appid=" + AppID + "&secret=" + AppSecret + "&js_code=" + code + "&grant_type=" + grant_type;
        //发送请求
        String data = HttpUtil.get(requestUrl, params);
        //解析相应内容（转换成json对象）
        com.alibaba.fastjson.JSONObject json = com.alibaba.fastjson.JSONObject.parseObject(data);
        //用户的唯一标识（openid）
        String Openid = String.valueOf(json.get("openid"));
        String Sessionkey = String.valueOf(json.get("session_key"));
        String unionid = String.valueOf(json.get("unionid"));

        Map res = new HashMap();
        res.put("openid", Openid);
        res.put("sessionkey", Sessionkey);
        res.put("unionid", unionid);
        return res;
    }


}
